A Database Management System (“DBMS”) runs on a computer system that may include one or more computers. The computer system has resources, such as the central processing unit (“CPU”), memory, storage, input/output (“I/O”), etc., that are shared between the DBMS and other programs or systems that are running on the computer system. The DBMS itself may have resources that may be shared among different DBMS tasks that are executing at the same time. The assignment of resources among DBMS tasks is sometimes based on prioritizing tasks, with higher priority tasks being more likely, at any given time, to be assigned a greater share of the DBMS and computer system resources.
Operating systems, such as Linux, typically come with a built-in “scheduler” which is responsible for deciding which tasks run on which CPU and when. Teradata Database Systems include a “Priority Scheduler” built on top of the operating system scheduler to manage tasks and other activities that run in or support the database work. Having a database-specific priority scheduler has been a powerful advantage for Teradata Database users, allowing different types of work with varying business value and urgency to be managed differently.
Many Teradata Database users supplement their intelligence-oriented, decision-making data warehouse queries with very quick operational-like interactive queries, often from the web, sometimes supporting dashboards and other intranet or internet applications. Having a robust priority scheduler allows those diverse types of applications to coexist on the same platform, and access the same data tables cooperatively, while protecting the aggressive performance goals of the shorter work.